package com.admin.service;

import java.util.List;

import com.admin.domain.AdminDO;
import com.admin.domain.RoleDO;

/**
 * 事务类
 * 
 * @author Administrator
 * @date 2018/10/15
 */
public interface TransactionService {

    /**
     * 保存用户
     * 
     * @param adminDO 用户对象
     * @param addRoleIds 添加角色id
     */
    public void saveAdminDO(AdminDO adminDO, List<Long> addRoleIds);

    /**
     * 更新用户
     * 
     * @param adminDO 用户对象
     * @param delRoleIds 删除角色id
     * @param addRoleIds 添加角色id
     */
    public void updateAdminDO(AdminDO adminDO, List<Long> delRoleIds, List<Long> addRoleIds);

    /**
     * 删除用户
     * 
     * @param userId
     */
    public void deleteAdmin(Integer userId);

    /**
     * 批量删除用户
     * 
     * @param userIds
     */
    public void deleteAdmins(List<Integer> userIds);

    /**
     * 
     * @param roleDO
     * @param addMenuIds
     */
    public void saveRoleDO(RoleDO roleDO, List<Long> addMenuIds);

    /**
     * 
     * @param roleDO
     * @param delMenuIds
     * @param addMenuIds
     */
     void updateRoleDO(RoleDO roleDO, List<Long> delMenuIds, List<Long> addMenuIds);

    /**
     * 修改 new
     * @param roleDO
     * @param menuIds
     */
     void updateRoleNew(RoleDO roleDO,List<Long> menuIds);

    /**
     * 删除角色
     * 
     * @param roleId
     */
    public void deleteRole(Long roleId);

    /**
     * 批量删除 角色
     * 
     * @param roleIds
     */
    public void deleteRoles(List<Long> roleIds);

    /**
     * 批量删除菜单
     * 
     * @param menuIds
     */
    public void deleteMenus(List<Long> menuIds);


}
